package net.asgarli.abalone.dao;

import java.io.IOException;

import net.asgarli.abalone.model.Attachment;
import net.asgarli.abalone.model.Vault;

public interface AbaloneDAO {

    public void init(AbaloneDaoConfiguration configuration);
    
    public Vault readVault() throws IOException;

    public void writeVault(Vault vault) throws IOException;

    public Attachment<?> getAttachment(Long attachmentId) throws IOException;
    
    public void saveAttachment(Long attachmentId, Attachment<?> attachment) throws IOException;
    
    public void saveAttachment(Attachment<?> attachment) throws IOException;
}
